package com.antis.olsl.library.net.api.service;

import com.antis.olsl.base.response.BaseResp;
import com.antis.olsl.library.response.GetEmployeeInfoListResp;
import com.antis.olsl.library.response.GetSalesroomOrWarehouseListRes;
import com.antis.olsl.library.response.GetWarehouseInAccountDetailResp;
import com.antis.olsl.library.response.GetWarehouseInAccountListResp;
import com.antis.olsl.library.response.GetWarehouseInAccountOutDetailResp;

import io.reactivex.Flowable;
import retrofit2.http.Body;
import retrofit2.http.POST;
import retrofit2.http.Query;

public interface BaseApiServer {

    String API_BASE = "api-base";
    String API_LOGISTICS = "api-logistics";

    @POST(API_BASE + "/ads/user/resetPassword")
    Flowable<BaseResp> resetPassword(@Body String filed, @Query("access_token") String accessToken, @Query("type") int type);

    @POST(API_BASE + "/app/mrp/selectSalesroomInfoList")
    Flowable<GetSalesroomOrWarehouseListRes> getSalesroomInfoList(@Body String filed, @Query("access_token") String accessToken, @Query("type") int type);

    @POST(API_BASE + "/app/mrp/selectWarehouseInfoList")
    Flowable<GetSalesroomOrWarehouseListRes> getWarehouseInfoList(@Body String filed, @Query("access_token") String accessToken, @Query("type") int type);

    @POST(API_BASE + "/app/mrp/selectEmployeeInfoList")
    Flowable<GetEmployeeInfoListResp> getEmployeeInfoList(@Body String filed, @Query("access_token") String accessToken, @Query("type") int type);

    @POST(API_LOGISTICS + "/app/warehouse/selectWarehouseInaccountList")
    Flowable<GetWarehouseInAccountListResp> getWarehouseInAccountList(@Body String filed, @Query("access_token") String accessToken, @Query("type") int type);

    @POST(API_LOGISTICS + "/app/warehouse/selectWarehouseOutAccountList")
    Flowable<GetWarehouseInAccountListResp> getWarehouseOutAccountList(@Body String filed, @Query("access_token") String accessToken, @Query("type") int type);

    @POST(API_LOGISTICS + "/app/warehouse/selectWarehouseInaccountDetail")
    Flowable<GetWarehouseInAccountDetailResp> getWarehouseInAccountDetail(@Body String filed, @Query("access_token") String accessToken, @Query("type") int type);

    @POST(API_LOGISTICS + "/app/warehouse/selectWarehouseInaccountOutDetail")
    Flowable<GetWarehouseInAccountOutDetailResp> getWarehouseInAccountOutDetail(@Body String filed, @Query("access_token") String accessToken, @Query("type") int type);
}
